package proxy;

import java.rmi.Naming;
import java.rmi.RemoteException;
import java.util.List;

import rmi.InterfazRemotaOF;
import ViewObjects.ComparativaView;

public class ProxyModeloConcreto extends ProxyModelo {

	private static final long serialVersionUID = 1L;
	private InterfazRemotaOF OF;
	
	public ProxyModeloConcreto() throws RemoteException {
		super();
		getConexion();
	}

	@Override
	public void update() throws RemoteException {

	}

	protected void getConexion()
	{
    	try {
    		// Assign security manager
    		//System.setProperty("java.rmi.server.codebase","file:/C:/Users/Asus/UADE/WorkSpace2011LVTPO/Common/src/observer");
    		//System.setProperty("java.security.policy","C:/Users/Asus/UADE/WorkSpace2011LVTPO/Common/src/observer/java.policy");
    		//if (System.getSecurityManager() == null)
    		//{
    			//System.setSecurityManager
    			//(new RMISecurityManager());
    		//}
    		OF = (InterfazRemotaOF)Naming.lookup ("//localhost/OF");
    		OF.addObserverRemotoOF(this);
    		System.out.println("Conectado al Servidor //localhost/OF");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	

	public int pruebaComparativa() {
		try {
			return OF.pruebaComparativa();
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return 9;		
	}
	
	public List<ComparativaView> consCompCodigoSFK(String codigoSFK) {
		try {
			return OF.consCompCodigoSFK(codigoSFK);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return null;
	}
	
	public List<ComparativaView> consCompCodigoFabricante(String codigoFabricante) {
		try {
			return OF.consCompCodigoFabricante(codigoFabricante);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return null;
	}

	public List<ComparativaView> consCompMarca(String marca) {
		try {
			return OF.consCompMarca(marca);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return null;		
	}
	
	public List<ComparativaView> consCompPaisOrigen(String PaisOrigen) {
		try {
			return OF.consCompPaisOrigen(PaisOrigen);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return null;
	}
	
	public List<ComparativaView> consCompCodigoSFKyMarca(String codigoSFK, String marca) {
		try {
			return OF.consCompCodigoSFKyMarca(codigoSFK, marca);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return null;
	}

	public List<ComparativaView> consCompCodigoSFKyPaisOrigen(String codigoSFK, String paisOrigen) {
		try {
			return OF.consCompCodigoSFKyPaisOrigen(codigoSFK, paisOrigen);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return null;
	}

	public List<ComparativaView> consCompCodigoFabricanteyMarca(String codigoFabricante, String marca) {
		try {
			return OF.consCompCodigoFabricanteyMarca(codigoFabricante, marca);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return null;
	}

	public List<ComparativaView> consCompCodigoFabricanteyPaisOrigen(String codigoFabricante, String paisOrigen) {
		try {
			return OF.consCompCodigoFabricanteyPaisOrigen(codigoFabricante, paisOrigen);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return null;
	}

}
